﻿<?xml version="1.0" encoding="utf-8"?>
<schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
          xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension"
    targetNamespace="http://schemas.microsoft.com/wix/MsHelp2Extension"
        xmlns:h2="http://schemas.microsoft.com/wix/MsHelp2Extension"
              xmlns="http://www.w3.org/2001/XMLSchema">
    <annotation>
        <documentation>
            Copyright (c) Microsoft Corporation.  All rights reserved.

            The source code schema for the Windows Installer XML Toolset Visual Studio Extension.
        </documentation>
    </annotation>

    <element name="HelpCollection">
        <annotation>
            <documentation>
                Help Namespace for a help collection.  The parent file is the key for the HxC (Collection) file.
            </documentation>
            <appinfo>
                <xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="File" />
            </appinfo>
        </annotation>
        <complexType>
            <choice minOccurs="0" maxOccurs="unbounded">
                <element ref="h2:HelpFileRef" />
                <element ref="h2:HelpFilterRef" />
                <element ref="h2:PlugCollectionInto" />
            </choice>
            <attribute name="Id" type="xsd:string" use="required">
                <annotation><documentation>Primary Key for HelpNamespace.</documentation></annotation>
            </attribute>
            <attribute name="Description" type="xsd:string">
                <annotation><documentation>Friendly name for Namespace.</documentation></annotation>
            </attribute>
            <attribute name="Name" use="required" type="xsd:string">
                <annotation><documentation>Internal Microsoft Help ID for this Namespace.</documentation></annotation>
            </attribute>
        </complexType>
    </element>

    <element name="HelpFilter">
        <annotation>
            <documentation>
                Filter for Help Namespace.
            </documentation>
            <appinfo>
                <xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Fragment" />
                <xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Product" />
            </appinfo>
        </annotation>
        <complexType>
            <attribute name="Id" use="required" type="xsd:string">
                <annotation><documentation>Primary Key for HelpFilter.</documentation></annotation>
            </attribute>
            <attribute name="FilterDefinition" type="xsd:string">
                <annotation><documentation>Query String for Help Filter.</documentation></annotation>
            </attribute>
            <attribute name="Name" use="required" type="xsd:string">
                <annotation><documentation>Friendly name for Filter.</documentation></annotation>
            </attribute>
        </complexType>
    </element>

    <element name="HelpFile">
        <annotation>
            <documentation>
                File for Help Namespace.  The parent file is the key for HxS (Title) file.
            </documentation>
            <appinfo>
                <xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="File" />
            </appinfo>
        </annotation>
        <complexType>
            <attribute name="Id" use="required" type="xsd:string">
                <annotation><documentation>Primary Key for HelpFile Table.</documentation></annotation>
            </attribute>
            <attribute name="AttributeIndex" type="xsd:string">
                <annotation><documentation>Key for HxR (Attributes) file.</documentation></annotation>
            </attribute>
            <attribute name="Index" type="xsd:string">
                <annotation><documentation>Key for HxI (Index) file.</documentation></annotation>
            </attribute>
            <attribute name="Language" type="xsd:int" default="0">
                <annotation><documentation>Language ID for content file.</documentation></annotation>
            </attribute>
            <attribute name="Name" use="required" type="xsd:string">
                <annotation><documentation>Internal Microsoft Help ID for this HelpFile.</documentation></annotation>
            </attribute>
            <attribute name="SampleLocation" type="xsd:string">
                <annotation><documentation>Key for a file that is in the "root" of the samples directory for this HelpFile.</documentation></annotation>
            </attribute>
            <attribute name="Search" type="xsd:string">
                <annotation><documentation>Key for HxQ (Query) file.</documentation></annotation>
            </attribute>
        </complexType>
    </element>

    <element name="PlugCollectionInto">
        <annotation><documentation>Plugin for Help Namespace.</documentation></annotation>
        <complexType>
            <attribute name="Attributes" type="string">
                <annotation><documentation>Key for HxA (Attributes) file of child namespace.</documentation></annotation>
            </attribute>
            <attribute name="TableOfContents" type="string">
                <annotation><documentation>Key for HxT  file of child namespace.</documentation></annotation>
            </attribute>
            <attribute name="TargetCollection" use="required" type="string">
                <annotation><documentation>Foriegn Key into HelpNamespace table for the parent namespace into which the child will be inserted.</documentation></annotation>
            </attribute>
            <attribute name="TargetTableOfContents" type="string">
                <annotation><documentation>Key for HxT  file of parent namespace that now includes the new child namespace.</documentation></annotation>
            </attribute>
        </complexType>
    </element>

    <element name="HelpFileRef">
        <annotation><documentation>Create a reference to a HelpFile element in another Fragment.</documentation></annotation>
        <complexType>
            <attribute name="Id" use="required" type="string">
                <annotation><documentation>Primary Key for HelpFile Table.</documentation></annotation>
            </attribute>
            <anyAttribute namespace="##other" processContents="lax">
                <annotation><documentation>
                    Extensibility point in the WiX XML Schema.  Schema extensions can register additional
                    attributes at this point in the schema.
                </documentation></annotation>
            </anyAttribute>
        </complexType>
    </element>

    <element name="HelpFilterRef">
        <annotation><documentation>Create a reference to a HelpFile element in another Fragment.</documentation></annotation>
        <complexType>
            <attribute name="Id" use="required" type="string">
                <annotation><documentation>Primary Key for HelpFilter.</documentation></annotation>
            </attribute>
            <anyAttribute namespace="##other" processContents="lax">
                <annotation><documentation>
                    Extensibility point in the WiX XML Schema.  Schema extensions can register additional
                    attributes at this point in the schema.
                </documentation></annotation>
            </anyAttribute>
        </complexType>
    </element>

    <element name="HelpCollectionRef">
        <annotation>
            <documentation>Create a reference to a HelpCollection element in another Fragment.</documentation>
            <appinfo>
                <xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Fragment" />
                <xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Product" />
            </appinfo>
        </annotation>
        <complexType>
            <choice minOccurs="0" maxOccurs="unbounded">
                <element ref="h2:HelpFileRef" />
            </choice>
            <attribute name="Id" use="required" type="string">
                <annotation><documentation>Primary Key for HelpNamespace Table.</documentation></annotation>
            </attribute>
            <anyAttribute namespace="##other" processContents="lax">
                <annotation><documentation>
                    Extensibility point in the WiX XML Schema.  Schema extensions can register additional
                    attributes at this point in the schema.
                </documentation></annotation>
            </anyAttribute>
        </complexType>
    </element>

</schema>
